home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / TCP_IP / TNOS230B / NEW2TN2.00 < prev    next >
Encoding:
Text File  |  1996-08-17  |  22.9 KB  |  492 lines

  1.                     Upgrading TNOS to release 2.00
  2.          http://www.lantz.com/Update2.00.html
  3.  
  4.  
  5. TNOS 2.00 will be the next release of TNOS, to be released sometime
  6. before the formation of the United Federation of Planets. Hopefully,
  7. this list of changes will give you an idea of the scope of work that
  8. has occurred between versions. Of course, it may be faster just to
  9. re-read the docs when the next version is released.
  10.  
  11. This document is divided into:
  12.  
  13.  
  14.     * Bug Fixes
  15.     * Improvements
  16.     * Minor Changes
  17.     * Known Bugs
  18.     * To-Do List
  19.  
  20. ------------------------------------------------------------
  21. Bug Fixed:
  22.  
  23. The following bugs have been squashed.
  24.  
  25.  
  26. *     Cosmetic bug in 'mbox status' display fixed.
  27.  
  28. *     Export buglet fixed
  29.   If you went to use the 'export' function, it worked fine, but BIDs didn't
  30.   get placed on personal messages.
  31.  
  32. *     Fixed an ax25 heard bug
  33.   Wouldn't log heard activity correctly if NETROM compiled in and the
  34.   netrom interface not initialized.
  35.  
  36. *     Minor errors when compiling without Domain Server
  37.   Some misplaced conditionals moved.
  38.  
  39. *     Convers long user listing would occasionally loop - fixed
  40.  
  41. *     Changes to only add a SMTP 'Sender:' line if none already exists
  42.   Also, no longer will it wrongly add a Sender line also to the mini-RFC lines
  43.   in the message data.
  44.  
  45. *     Fix for RXECHO and multi-drop KISS
  46.   Thanks to Tomi Manninen <tpmannin@snakemail.hut.fi>, the RXECHO now
  47.   works correctly with multi-drop kiss (on 'kiss' type interfaces)
  48.  
  49. *     Non-blocking buglet in Convers, fixed
  50.  
  51. *    Fixed occasional lingering 'AX25 listener' sockets
  52.  
  53.  
  54. ------------------------------------------------------------
  55. Improvements:
  56.  
  57. The following optimizations and improvements have occurred.
  58.  
  59. *     System statistics added
  60.   Added connection statistic logging, inspired by the FBB Connections Server.
  61.   There are three displays, a general display like this:
  62.  
  63.                   CONNECTS: BBS                       SERVERS
  64.      Connects since Jun 17: 39                        23
  65.    Connects since midnight: 39                        23
  66.   Average time per connect: 13 min, 36 sec            20 min, 42 sec
  67.   Average connects per day: 39                        23
  68.                 Rush hours: At 18 and 17 o'clock      At 17 and 18 o'clock
  69.  
  70.   a daily display of usage by hour, like this:
  71.  
  72. Usage per hour in the last 24 hours (excluding current hour)
  73.  
  74.           BBS                                SERVERS
  75.  
  76.                   *                                 *
  77.                  **                                 *
  78.                  **                                 *
  79.                * **                                 *
  80.                * **                                 **
  81.                * **                                ***
  82.               ** **                               ****
  83.               *****                               ****
  84.             * *****                             * ****
  85.             *******                            *******
  86. ------------------------           ------------------------
  87. 0 0 0 0 0 1 1 1 1 1 2 2  Hour      0 0 0 0 0 1 1 1 1 1 2 2  Hour
  88. 0 2 4 6 8 0 2 4 6 8 0 2            0 2 4 6 8 0 2 4 6 8 0 2
  89.  
  90.   and a weekly display of usage by day, like this:
  91.  
  92. Usage per day in the last 7 days (excluding current day)
  93.  
  94.                BBS                                     SERVERS
  95.  
  96.                          ***                                     ***
  97.                          ***                                     ***
  98.                          ***                                     ***
  99.                          ***                                     ***
  100.                          ***                                     ***
  101.                     ***  ***                                ***  ***
  102.                     ***  ***                                ***  ***
  103.                     ***  ***                                ***  ***
  104.                     ***  ***                                ***  ***
  105.                     ***  ***                                ***  ***
  106. ---------------------------------       ---------------------------------
  107. SUN  MON  TUE  WED  THU  FRI  SAT       SUN  MON  TUE  WED  THU  FRI  SAT
  108.  
  109.   These have been added as a separate Command Session 'stats' command, and
  110.   a BBS 'stats' command, each with 'general', 'daily', and 'weekly' subcommands.
  111.   There are also three new pre-defined users in fingerd, which give these
  112.   displays, named 'general', 'daily', and 'weekly'.
  113.  
  114.   The BBS connects include users, BBS forwarding sessions (incoming and
  115.   outgoing), and RLOGIN sessions to remotely sysop. The SERVERS connections
  116.   are the Conference Bridge (users and links), FTP sessions, 
  117.   TTYLINK sessions, ECHO sessions, DISCARD sessions, Information Server
  118.   sessions (INFO, TUTOR, and NEWS), SMTP sessions, TCPGATE sessions,
  119.   and TRACE Server sessions.
  120.  
  121.   Things not included in the statistics, of course, are services where the
  122.   connection is NOT made
  123.   to you, but THROUGH you, such as digipeating, IP forwarding, smart routing,
  124.   etc.
  125.  
  126. *    Changes made to PBBS export functionality
  127.   In 1.14, all forwarding sessions defined as connecting via 'export', would
  128.   all go into a 'current.exp' file. So though you COULD define multiple
  129.   BBSs to be exported (or change one temporarily, if needed), they would
  130.   be output together.
  131.  
  132.   Now each BBS defined as an 'export'-type forwarding session stores their
  133.   messages in a file named 'xxxx.exp', where 'xxxx' is the BBS name defined
  134.   in forward.bbs. If you want to set up for a generic export file, simply
  135.   define a BBS in forward.bbs named 'export'. The previous actions of 1.14,
  136.   using 'current.exp' are still there, they just now use 'export.exp', for a
  137.   BBS named 'export'.
  138.  
  139. *    Changes made to support exporting a BBS's messages
  140.   There will be occasional times of difficulty, where you might need to
  141.   bundle up a sysop's messages and give them by a non-usual method, due
  142.   to electical storms, etc. So I changed the 'forward kickone' command to
  143.   not only take a 'poll' command, but also an 'export' command. If the
  144.   'export' parameter is given, then the connection method will be 'export',
  145.   no matter what is set in the forward.bbs file.
  146.  
  147. *    Also added a 'stats monthly' command
  148.   Added to the command session and BBS. Also a new finger user of 'monthly'.
  149.   The output of this looks like this:
  150.  
  151. Usage per day in the last month (excluding current day)
  152.  
  153.               BBS                                    SERVERS
  154.  
  155.                 *                                       *
  156.                 *                                       *
  157.                 *                                       *
  158.                 *                                       *
  159.                 *                                       *
  160.                **                                      **
  161.                **                                      **
  162.                **                                      **
  163.                **                                      **
  164.                **                                      **
  165. --------------------------------         --------------------------------
  166. 0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 3  Days    0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 3  Days
  167. 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0          0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0
  168.  
  169. *    Added code to automatically bounce 'refused' SMTP mail
  170.   While the BBS code will properly refuse mail that rewrites to 'refuse',
  171.   the SMTP server was accepting it, and placing it in the 'refuse' area.
  172.   Now the SMTP server will reject the message, causing it to bounce back
  173.   to the original sender.
  174.  
  175. *    Changed the new 'stats' command
  176.   Placed the 'general', 'daily', 'weekly', and 'monthly' commands under a
  177.   'stats connection' subcommand.
  178.  
  179. *    Added a new 'stats' subcommand level - 'messages'
  180.   While the output is nearly identical and the subcommands are the same as
  181.   the 'connection' subcommand, the 'messages' statistics report number of
  182.   incoming and outgoing messages, whether it be by SMTP, BBS user entry,
  183.   or PBBS forwarding.
  184.  
  185. *    Added nos_remote.c to the source tree
  186.   This is a native Unix program, that serves as a xNOS-like 'remote' server,
  187.   to allow remote rebooting. You may not need it, but it's there if you do.
  188.  
  189. *    Added in Jack's FBB non-compressed code and changes
  190.   These required a *little* bit of changes, but very few. Jack did an
  191.   *EXCELLENT* job, not only of coding it, but also integrating it into the
  192.   'TNOS world'. He only missed two minor points, and *that's* GREAT! On the
  193.   initial day of testing, it was put into a real-world test, receiving
  194.   over 750 bulletins over the air with a FBB system. No problems!
  195.  
  196. *    Added a signal handler (for Unix) for the TERM signal
  197.   This handler simply calls the where_outta_here() function, so that
  198.   all needed cleanup can occur, primarily the writing of statistics files
  199.   and exit log entry.
  200.  
  201. *    Changed the 'stats connect' subcommand to 'stats usage'
  202.   Better description of the data as a whole.
  203.  
  204. *    Added a 'yearly' command to the 'stats usage' and 'stats message' commands
  205.   Display is very similar to the monthly histogram.
  206.  
  207. *    Added a 'stats traffic' command
  208.   This reports number of bulletins, personal messages, NTS messages, and
  209.   total number of messages forwarded via PBBS forwarding. Good data for use
  210.   in reporting traffic to ARRL leadership. Has the same histogram displays
  211.   as the 'usage' and 'message' stats subcommands, except that since there is
  212.   four pieces of info for this command, there are two histograms for each
  213.   display. Might need to have your session set for '--more---' paging.
  214.  
  215. *    Added APOP support to the POP3 client and server
  216.   From Paul Traina <pst@w6yx.stanford.edu> (thanks, Paul).
  217.   Added POP "APOP" authentication support for both pop3 client and server.
  218.   APOP is an extension supported by MH, Eudora, and many other POP clients
  219.   to avoid sending passwords over the air in the clear.  This extension works
  220.   by adding a challenge string "<random-data@host>" to the pop login banner.
  221.   If that string is detected by an APOP capable client, we concatenate our
  222.   password onto that challenge, take the MD5 digest, and send back
  223.   "APOP username digest"
  224.  
  225. *    Added a 'stats forwarding' command
  226.   This reports number of incoming and outgoing PBBS forwarded messages,
  227.   listed by BBS name. This *only* covers the total number of messages
  228.   forwarded via PBBS forwarding, and does *not* cover any messages that
  229.   have been forwarded (incoming or outgoing) using SMTP. Good data to have
  230.   in tracking traffic flows. Has the same histogram displays
  231.   as the 'usage', 'message' and 'traffic' stats subcommands, with one
  232.   difference. Since the data is per BBS, there is an additional parameter
  233.   for the subcommands, that of the BBS you wish info on.
  234.  
  235. *    Added LZW command and code to POP3 Client and Server
  236.   This came in from the current JNOS code, so there should be no
  237.   incompatibilities between the two.
  238.  
  239. *    Resolved inconsistencies between JNOS and TNOS with LZW FTP
  240.   The problems were caused by the way that my LZW/FTP support was placed
  241.   into JNOS. They made the LZW (for no real reason) turn off and on between
  242.   files. This was invisible to the user, but caused the TNOS server to
  243.   respond with errors when receiving the 'XLZW' command again.
  244.   If a TNOS client connects to your TNOS server, it will act as before. If
  245.   a JNOS client connects to your TNOS server, it will now co-operate.
  246.  
  247. *    Added a 'stats area' command
  248.   This reports number of messages listed, read and received by area, and
  249.   the number of times someone changes to that area. Good data to have
  250.   to determine whether or not certain topics of messages are of interest
  251.   to your userbase. Has the same histogram displays as the 'usage',
  252.   'message', 'traffic' and 'forwarding' stats subcommands, with one
  253.   difference. Since the data is per area, there is an additional parameter
  254.   for the subcommands, that of the area you wish info on. Like the 'traffic'
  255.   stats, there are 2 sets of histograms for each report. Might need to
  256.   have your session set for '--more---' paging. 
  257.  
  258. *     Resolved differences between TNOS and JNOS on LZW support for FTP
  259.   Good news and bad news.
  260.  
  261.   The *GOOD* news is that JNOS and TNOS can now FTP using LZW without
  262.   any problems. Also gained, is that the FTPclient 'LZW' command (which used
  263.   to just be an 'on' switch), now toggles between using and not using LZW.
  264.  
  265.   The *BAD* news is that 1.15 TNOS will *not* behave (in regards
  266.   to LZW FTP) with pre-1.15 TNOSs! The change in coding is subtle, but won't
  267.   work together.
  268.  
  269.   NOTE: LZW transfers will only occur for ASCII FTP data transfers,
  270.   so if using binary/image mode, only directories will be compress (which
  271.   are ALWAYS in ASCII mode). So LZW and ASCII mode are a team. In the fight
  272.   between LZW and binary mode, binary mode always wins. ;-)
  273.  
  274.   I have resisted doing this mod, since TNOS *originated* FTP LZW, and the
  275.   JNOS port of the code was what *broke* the interrelating of the two. Don't
  276.   expect future TNOS workarounds for JNOS bugs.........
  277.  
  278. *    Remote sysop commands added
  279.   From Jack/KF5MG: changes to allow remote sysops to do
  280.   telnet, ping, finger, etc. using the mbox gateway versions
  281.   of those functions. i.e. you can telnet to port 513... do
  282.   some SYSOP type things and then ping ucsd.edu to see what's going on.
  283.  
  284. *    Added in Jack's FBB *compression* code
  285.   These required a *no* changes, but I made changes, anyway ;-) All
  286.   cosmetic relating to the fbb trace output. This adds a 'forward
  287.   fbb-compression' command.
  288.  
  289. *    Completed the FBB spec, with support for the negotiation checksum
  290.   This code checks/calculates/rejects the checksum on negotiations,
  291.   completing the FBB spec. The incoming negotiations are checksummed,
  292.   and *IF* the checksum is transmitted after the "F>", then it is
  293.   compared, and if it fails, it drops the connection. All outgoing
  294.   negotiations send the checksum.
  295.  
  296. *    Changes to the forward.bbs syntax, allowing digis on connect line
  297.   This creates an AUTO route to the BBS, using the digis given, as a BBS
  298.   gateway command does. And, just as the BBS gateway command does, this
  299.   *will* override/eliminate any existing 'LOCAL' (manually entered) route.
  300.   The AUTO/LOCAL route problem *is* on the TODO list....
  301.  
  302. *    Support for setting the time of TNC PMS clocks, added
  303.  
  304. *    COMPLETE change of the syntax for the forward.bbs file
  305.   A new program, cnvfwd, will convert the old format forward.bbs file to the
  306.   new...
  307.  
  308. *    Added code to allow restricting message sizes for forwarding
  309.   Using the new forward.bbs file, you can set up maximum message sizes for
  310.   different times or connection paths.
  311.  
  312. *    Added code to provide Alternate BBSs
  313.   For details and syntax, see the TNOS Forward.bbs File Specification.
  314.  
  315. *    Added code to provide for multiple paths to a BBS; automatic retries
  316.   For details and syntax, see the TNOS Forward.bbs File Specification.
  317.  
  318. *    Added code to the FBBFWDing to properly handle area address rewriting
  319.   Now honors a configured rewrite address (per area) in the forward.bbs file.
  320.  
  321. *    Added "tcp clean" command
  322.   This one is from Selcuk Ozturk <seost2+@pitt.edu> extensions to JNOS.
  323.   It resets all FINWAIT2 state connections. He was seeing a lot of them
  324.   lingering forever. You can use this command in conjunction with "at" as:
  325.  
  326.               at now+0300 "tcp clean+"
  327.  
  328.   to periodically reset hanging connections.
  329.  
  330. *    Added a 'CLOCKOFFSET' Attribute to the forward.bbs file syntax
  331.   This allows you to account for setting clock of remote TNCs in different
  332.   time zones.
  333.  
  334. *    Added a 'FBBSIZE' Attribute to the forward.bbs file syntax
  335.   This allows you to set a maximum size for the proposed data sent. Normally,
  336.   with the default for 'FBBSIZE' of zero, there will be up to 5 messages
  337.   sent during the negotiation (assuming you have at least 5 to send). If
  338.   'FBBSIZE' is set, then after added a message to the negotiation, a check
  339.   is made to see if the total size of the negotiation is now larger than
  340.   the 'FBBSIZE', and if so, no more messages will be added to the negotiation
  341.   block. This means that the maximum size of your block could be
  342.  
  343.          ( 'FBBSIZE' + 'SIZE' - 2)
  344.  
  345.   This is *IF* there was at least one byte less than the 'FBBSIZE', and
  346.   the next message was one byte less than the 'SIZE'.
  347.  
  348.   For example, if the 'SIZE' Attribute is 6K, and the 'FBBSIZE' Attribute is
  349.   6K, and message 1 is 2K, message 2 is 2K, and message 3 is 5K, then it
  350.   will not attempt to add a 4th message. You will see that the negotiation
  351.   size is 9K.
  352.  
  353. *    Added to the forward.bbs syntax ability to nest conditionals
  354.  
  355. *    Added a 'ELIF' conditional processing directive to forward.bbs syntax
  356.  
  357. *    Added code to help prevent troublesome messages from clogging forwarding
  358.   If a forwarding connection (while sending a message or messages) aborts due
  359.   to an error, loss of connect, or the other side having a problem with what
  360.   we were sending, the message(s) are left in a blocked state, with the status
  361.   byte within the *.fwd file (first byte of line) set to '!'. On later
  362.   forwarding sessions, these block message(s) are skipped (but not removed),
  363.   allowing the other messages to pass. When a forwarding session to that BBS
  364.   sucessfully completes, these blocked message(s) are un-blocked, and the
  365.   next forwarding time will be attempted again.
  366.  
  367.  
  368. ------------------------------------------------------------
  369. Minor Changes:
  370.  
  371. The following minor changes have occurred.
  372.  
  373. *     Extended syntax of Command Session 'sleep' command
  374.   I had some cases where I wanted to script in delays of less than 1 second,
  375.   so I extended the syntax to 'sleep xxx [m]', where 'xxx' is the number of
  376.   seconds, OR if the 'm' is present, 'xxx' is the number of milliseconds.
  377.  
  378. *     Made outgoing forwarding sessions honor maintenance mode
  379.   No outgoing forwarding sessions will start during maintenance mode. Any
  380.   forwarding sessions active when maintenance mode occurs, will quietly
  381.   terminate at the end of the current message, even if 'mbox maintclear'
  382.   is off.
  383.  
  384. *     Changes to make DOS DGROUP limitations less frequent
  385.   Changed several DGROUP-hog files, to make there dynamically assigned
  386.   string constants into global DFAR char arrays. Won't do away with DGROUP
  387.   errors, but will make then happen less frequently.
  388.  
  389. *     Changed order of priority in BBS listing flags
  390.   Previously, if a held message was deleted, then listed, it showed as
  391.   held. Now the same message is shown as deleted, which IS more important.
  392.  
  393. *     BBS check for newmail ALSO between time a line entered and processed
  394.   The check for newmail (current area or personal area) used to be done
  395.   after execution of a command. That means, if you KNEW a message had come
  396.   in while you were at the command prompt, and did a command to use that
  397.   message (like 'list'), you would NOT get the message accounted for with
  398.   that command, but THEN it would check. This required doing the command a
  399.   second time.
  400.  
  401.   Now, in addition to checking for new mail AFTER a command is executed, it
  402.   is also checked between receiving the command, and executing it.
  403.  
  404. *    Added to the 'forward summary' the queue data sizes per BBS
  405.   Each message size is now stored in the forwarding queue files (*.fwd) for
  406.   quick access of this info. A total data size queued for forwarding is also
  407.   given.
  408.  
  409. *    Added a 'forward tapr [on|off]' to allow (if you MUST) a non X.3.4 haddress
  410.   While only TWO TNOS users have 'complained' about the TAPR addressing
  411.   issue being forced, I will allow you to by-pass this, but it *WILL*
  412.   lecture you about it if you disable it ;-)
  413.  
  414.  
  415. ------------------------------------------------------------
  416. Known Bugs:
  417.  
  418. The following are known bugs that are being worked on during the development
  419. of release 1.14. These may or may not be fixed in release 1.14.
  420.  
  421. *    TCPGATE won't compile in DOS version 
  422.   Missing some references in the source. Will be fixed soon...
  423.  
  424.  
  425. ------------------------------------------------------------
  426. To-Do List:
  427.  
  428. The following are things on my 'to-do' list that may eventually
  429. be done, but not necessarily by the next release.
  430.  
  431. *    Linux kernel AX25 devices available from TNOS/Linux
  432.   This would allow the PI card to be used....
  433.  
  434. *    Add capability to allow use of OS commands
  435.   This WILL be limited to Linux version.
  436.  
  437. *    FTP permissions improved
  438.   The new UNIX-like dir display needs a little more work with the permissions
  439.   portion of the display...
  440.  
  441. *    Add in UNIX permissions checking to FTP server
  442.   This could cause problems with restricted files not being restricted.
  443.  
  444. *    Add a command to allow a sysop to edit the header of a message
  445.   This will be handled by making each editable line at least a certain
  446.   minimum length. Care to be taken to PREVENT editing older messages, by
  447.   checking the line length of these header lines BEFORE starting the edit.
  448.  
  449. *    Add better support for PBBS<->Internet mail address translation
  450.   The 'translate' file and improved handling of aliases is a START, but more
  451.   work needs to be done here. Maybe a 'translate.out' file...
  452.  
  453. *    Put in special case code to better handle message number rollover
  454.   This is a far less frequent problem in TNOS, with the separate message
  455.   sequence and temp sequence numbers, but the problem will STILL occur when
  456.   the message sequence number wraps around past 65535 for MIDs (or
  457.   99999998 for temp sequence numbers). A special flag to indicate that the
  458.   message scan detected a rollover should be added, and special case code
  459.   added to alter the last message read and number of messages based on
  460.   whether a rollover is in that area.
  461.  
  462. *    Better handling of AUTO/LOCAL ax25 routes
  463.   Current code takes any 'AUTO' route given to it (by a BBS gateway, a
  464.   Command Session 'connect/split' command, or a forwarding connect command)
  465.   and *if* there was a LOCAL (manually entered) route, that route disappears,
  466.   and is replaced by the AUTO one. This AUTO route disappears when that
  467.   connection is severed, leaving (now) *NO* route.
  468.  
  469.   This is obviously caused by only allowing *one* route to a destination per
  470.   interface. The fix would be to allow 0/1 LOCAL routes, and 0/1 AUTO routes,
  471.   with an AUTO route being used for current connection, and disappearing
  472.   when the connection is *made*, rather than completed. This prevents the
  473.   problems created when someone is *guessing* at how to connect to a sight
  474.   (making an invalid AUTO route), while someone who wishes to let the system
  475.   determine the route suffers.
  476.  
  477. *    Support for GCC/ELF binaries of TNOS
  478.   The setjmp/longjmp routines seem to have been changed, and POSSIBLY have
  479.   a buglet in them. The initial setting up of a process is fine, and you
  480.   can enter into any process fine, but when exiting (and doing a setjmp),
  481.   the data is NOT left as expected. The first process to be entered for the
  482.   *second* time, causes a segment fault.
  483.  
  484. *    Support (optimization) for ncurses 1.9.x for performance
  485.  
  486. *    Color support output to Linux console
  487.   The various color commands don't work with the Linux kernel and curses.
  488.   Annoying, but just possible unexpected output. No crashes.
  489.  
  490.  
  491.  
  492.